package com.liu.design.structure.flyweight;

/**
 * @author LIU
 * @version 1.0
 * @date 2024/5/6 17:10
 * @description 享元模式（Flyweight Pattern）
 * 运用共享技术有效地支持大量细粒度的对象，享元模式能够解决重复对象的内存浪费的问题，
 * 当系统中有大量相似对象，需要缓冲池时，不需总是创建新对象，可以从缓冲池里拿。这样可以降低系统内存，同时提高效率。
 */
public class Test {

    public static void main(String[] args) {
        WebSiteFactory webSiteFactory = new WebSiteFactory();

        WebSite wb = webSiteFactory.getWebSiteCategory("微博");
        wb.use(new User("tom"));

        WebSite wb2 = webSiteFactory.getWebSiteCategory("微博");
        wb2.use(new User("小红"));

        WebSite wb3 = webSiteFactory.getWebSiteCategory("b站");
        wb3.use(new User("小白"));
    }
}
